/*
 * Copyright 2021 Shulie Technology, Co.Ltd
 * Email: shulie@shulie.io
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package io.shulie.tro.cloud.common.exception;

/**
 * 说明：压测枚举错误类
 *
 * @author shulie
 * @version 1.0
 * @date 2017年11月24日
 */
public enum TROErrorEnum {

    /**
     * 配置中心模块
     */
    // 应用管理
    CONFCENTER_ADD_APPLICATION_EXCEPTION(1010100102, "新增应用异常"),
    CONFCENTER_ADD_APPLICATION_DUPICATE_EXCEPTION(1010100102, "应用已经存在,请勿重新添加"),
    CONFCENTER_ADD_APPLICATION_BEYOND_LIMITS_EXCEPTION(1010100108, "单客户应用创建个数限制"),
    CONFCENTER_ADD_APPLICATION_CREATEDIR_EXCEPTION(1010100103, "创建应用脚本存放路径不存在"),
    CONFCENTER_IP_ILLEGAL_EXCEPTION(1010100103, "IP参数异常"),
    CONFCENTER_IP_NOTEXISTAPP_EXCEPTION(1010100104, "该ip没有对应的应用"),
    CONFCENTER_UPDATE_APPLICATION_DUPICATE_EXCEPTION(1010100105, "应用名已经存在,请勿更新成一样"),
    CONFCENTER_QUERY_APPLICATION_EXCEPTION(1010100106, "应用查询异常，未查到"),
    CONFCENTER_QUERY_APPNAMEFROMPRADAR_EXCEPTION(1010100701, "从pradar获取应用名称列表异常"),
    CONFCENTER_UPDATE_APPLICATION_AGENT_VERSION_EXCEPTION(1010100801, "更新应用agent版本,应用名不能为空"),
    // 白名单管理
    CONFCENTER_ADD_WLIST_EXCEPTION(1010200102, "新增白名单异常"),
    CONFCENTER_ADD_WLIST_DUPICATE_EXCEPTION(1010200103, "该白名单已经存在,请勿重新添加"),
    CONFCENTER_ADD_WLIST_INTERFACE_LOST_EXCEPTION(1010200104, "新增白名单时接口参数缺失"),
    CONFCENTER_QUERY_WLIST_EXCEPTION(1010200201, "查询白名单列表异常"),
    CONFCENTER_QUERY_WLISTBYID_PARAMLACK(1010200301, "根据id查询白名单详情参数缺失"),
    CONFCENTER_QUERY_WLISTBYID_EXCEPTION(1010200302, "根据id查询白名单信息异常"),
    CONFCENTER_QUERY_WLISTBYID_NOTEXIST(1010200303, "该白名单信息不存在"),
    CONFCENTER_UPDATE_WLIST_DUPICATE_EXCEPTION(1010200402, "该白名单已经存在,请勿重新添加"),
    CONFCENTER_UPDATE_WLIST_EXCEPTION(1010200403, "根据id更新白名单信息异常"),
    CONFCENTER_DELETE_WLIST_EXCEPTION(1010200501, "删除白名单信息异常"),
    CONFCENTER_QUERY_WLISTDIC_EXCEPTION(1010200601, "查询白名单字典列表异常"),
    CONFCENTER_QUERY_WLISTBYAPPNAME_EXCEPTION(1010200701, "根据应用查询白名单异常"),
    CONFCENTER_QUERY_WLISTBYAPPID_PARAM_EXCEPTION(1010200801, "应用ID参数异常：null或空字符串"),
    CONFCENTER_QUERY_WLISTBYAPPID_EXCEPTION(1010200802, "根据应用ID查询白名单列表异常"),
    CONFCENTER_QUERY_NOT_WLIST_FOR_APPNAME_EXCEPTION(1010201301, "应用没有对应的白名单列表"),
    CONFCENTER_ADD_APPLICATION_NOTEXIST_EXCEPTION(1010201330, "应用名校验不通过"),

    // 黑名单管理
    CONFCENTER_ADD_BLIST_EXCEPTION(1010200702, "新增黑名单异常"),
    CONFCENTER_ADD_BLIST_DUPICATE_EXCEPTION(1010200703, "该黑名单已经存在,请勿重新添加"),
    CONFCENTER_QUERY_BLIST_EXCEPTION(1010200801, "查询黑名单列表异常"),
    CONFCENTER_QUERY_SINGLEBLISTBYID_EXCEPTION(1010200901, "根据id查询黑名单信息异常"),
    CONFCENTER_UPDATE_BLIST_EXCEPTION(1010201002, "根据id更新黑名单信息异常"),
    CONFCENTER_DELETE_BLIST_EXCEPTION(1010201101, "删除黑名单信息异常"),

    CONFCENTER_QUERY_BWLIST_EXCEPTION(1010201201, "查询黑边名单列表异常"),

    // 链路管理
    CONFCENTER_ADD_LINK_PARAM_EXCEPTION(1030100102, "添加链路的服务缺失"),
    CONFCENTER_ADD_LINK_EXIST(1010300103, "该链路名称已经存在,请勿重新添加"),
    CONFCENTER_ADD_LINK_EXCEPTION(1010300104, "新增链路信息异常"),
    CONFCENTER_QUERY_LINKLIST_EXCEPTION(1010300102, "查询链路列表异常"),
    CONFCENTER_QUERY_LINKDETAIL_EXCEPTION(1010300301, "查询链路列表异常"),
    CONFCENTER_DELETE_LINK_PARAMLACK(1010300401, "删除链路信息参数缺失"),
    CONFCENTER_DELETE_LINK_EXCEPTION(1010300402, "删除链路信息异常"),
    CONFCENTER_QUERY_LINKRANK_EXCEPTION(1010300501, "查询链路等级列表异常"),
    CONFCENTER_UPDATE_LINKINFO_EXCEPTION(1010300602, "根据id更新链路信息异常"),
    CONFCENTER_DELETE_LINKSERVICE_PARAMLACK(1010300701, "删除链路服务信息参数缺失"),
    CONFCENTER_DELETE_LINKSERVICE_EXCEPTION(1010300702, "删除链路服务信息异常"),
    CONFCENTER_QUERY_LINKTYPE_EXCEPTION(1010300801, "查询链路类型列表异常"),
    CONFCENTER_QUERY_LINKBYLINKTYPE_EXCEPTION(1010300901, "通过链路类型查询链路列表异常"),

    CONFCENTER_QUERY_LINKMODULE_EXCEPTION(1010301101, "查询链路类型列表异常"),
    CONFCENTER_QUERY_WHITELIST_EXCEPTION(1010301201, "查询白名单列表异常"),
    CONFCENTER_QUERY_VOLUME_CALC_EXCEPTION(1010301301, "查询链路类型列表异常"),
    CONFCENTER_QUERY_LINK_HEADER_EXCEPTION(1010301401, "查询链路头信息异常"),

    CONFCENTER_QUERY_LINK_SECONDLINK_BY_MODULE_EXCEPTION(1010301502, "根据链路模块查询二级链路异常"),

    // 二级链路管理
    CONFCENTER_SECOND_LINK_DUPICATE_EXCEPTION(1010400101, "二级链路名称已存在"),
    CONFCENTER_ADD_SECOND_LINK_EXCEPTION(1010400102, "新增二级链路信息异常"),
    CONFCENTER_QUERY_SECOND_LINKLIST_EXCEPTION(1010400103, "查询二级链路列表异常"),
    CONFCENTER_QUERY_SECOND_LINKDETAIL_EXCEPTION(1010400104, "查询二级链路列表异常"),
    CONFCENTER_DELETE_SECOND_LINK_EXCEPTION(1010400105, "删除二级链路信息异常"),
    CONFCENTER_UPDATE_SECOND_LINKINFO_EXCEPTION(1010400106, "根据id更新二级链路信息异常"),
    CONFCENTER_NOT_FOUND_SECOND_LINKID_EXCEPTION(1010400107, "找不到对应的二级链路"),
    CONFCENTER_NOT_FOUNT_BASIC_LINKID_EXCEPTION(1010400108, "找不到对应的基础链路"),
    CONFCENTER_PARSE_BASIC_LINKID_EXCEPTION(1010400108, "解析基础链路出现异常"),
    CONFCENTER_LIST_TO_JSON_STR_EXCEPTION(1010400109, "baseLinks转换成json字符串出现异常"),
    CONFCENTER_NOT_ALLOW_EMPTY(1010400302, "二级链路不允许为空"),

    // 一级链路管理
    CONFCENTER_FIRST_LINK_DUPICATE_EXCEPTION(1010500101, "一级链路名称已存在"),
    CONFCENTER_ADD_FIRST_LINK_EXCEPTION(1010500102, "新增一级链路信息异常"),
    CONFCENTER_QUERY_FIRST_LINKLIST_EXCEPTION(1010500103, "查询一级链路列表异常"),
    CONFCENTER_QUERY_FIRST_LINKINFO_PARAMLACK(1010500104, "查询一级链路列表参数缺失"),
    CONFCENTER_QUERY_FIRST_LINKDETAIL_EXCEPTION(1010500104, "查询一级链路列表异常"),
    CONFCENTER_DELETE_FIRST_LINK_EXCEPTION(1010500105, "删除一级链路信息异常"),
    CONFCENTER_UPDATE_FIRST_LINKINFO_EXCEPTION(1010500106, "根据id更新一级链路信息异常"),
    CONFCENTER_QUERY_LINK_TOPOLOGY_EXCEPTION(1010500107, "获取链路拓扑图异常"),
    CONFCENTER_NOT_FOUND_FIRST_LINKID_EXCEPTION(1010500107, "找不到对应的一级级链路ID"),
    CONFCENTER_SECOND_LINKID_LIST_IS_NULL_EXCEPTION(1010500108, "二级链路ID列表为NULL"),
    //分页异常
    PAGE_PARAM_EXCEPTION(999999, "分页参数异常"),
    CONFCENTER_QUERY_LIST_EXCEPTION(1010400108, "获取业务监控列表异常"),

    //数据字典管理
    CONFCENTER_SAVE_DICTIONARY_EXCEPTION(1010600101, "保存数据字典异常"),
    CONFCENTER_DICTIONARY_USER_NOT_LOGIN_EXCEPTION(1010600102, "数据字典模块用户未登录异常"),
    CONFCENTER_UPDATE_DICTIONARY_EXCEPTION(1010600201, "更新数据字典异常"),
    CONFCENTER_QUERY_DICTIONARY_LIST_EXCEPTION(1010600301, "查询数据字典列表异常"),
    CONFCENTER_QUERY_DICTIONARY_DETAIL_EXCEPTION(1010600401, "查询数据字典详情异常"),
    CONFCENTER_DELETE_DICTIONARY_EXCEPTION(1010600501, "删除数据字典异常"),
    CONFCENTER_QUERY_DICTIONARY_VALUE_EXCEPTION(1010600601, "查询数据字典值异常"),

    //上传dubbo与job接口管理
    CONFCENTER_INTERFACE_NEED_UPLOAD_EXCEPTION(1010700101, "判断appName是否需要上传接口信息异常"),
    CONFCENTER_INTERFACE_UPLOAD_EXCEPTION(1010700201, "保存appName的接口信息异常"),

    //影子表 配置
    API_TRO_CONFCENTER_SHADOWCONFIG_PRADAR_GET_EXCEPTION(1010800101, "获取影子表配置异常"),
    API_TRO_CONFCENTER_SHADOWCONFIG_UPDATE_PARAM_EXCEPTION(1010800201, "更新影子表配置缺少参数"),
    API_TRO_CONFCENTER_SHADOWCONFIG_QUERY_ID_EXCEPTION(1010800202, "通过主键ID未查询到影子表数据"),
    API_TRO_CONFCENTER_SHADOWCONFIG_DATASOURCE_ID_EXCEPTION(1010800203, "通过数据源ID未查询到影子表数据源"),
    API_TRO_CONFCENTER_SHADOWCONFIG_UPDATE_SAME_EXCEPTION(1010800203, "更新成相同配置表名"),
    API_TRO_CONFCENTER_SHADOWCONFIG_DELETE_EXCEPTION(1010800301, "批量删除id 参数为空"),
    API_TRO_CONFCENTER_SHADOWCONFIG_ADD_PARAM_EXCEPTION(1010800401, "新增影子表配置缺少参数"),
    API_TRO_CONFCENTER_SHADOWCONFIG_TABLENAME_LONG_EXCEPTION(1010800402, "添加的表名太长"),
    API_TRO_CONFCENTER_SHADOWCONFIG_GET_FROM_PRADAR_EXCEPTION(1010800501, "从pradar获取影子表配置异常"),
    API_TRO_CONFCENTER_SHADOWCONFIG_QUERY_IPPORT_List_EXCEPTION(1010800701, "根据应用ID查询应用数据库IP端口列表异常"),
    API_TRO_CONFCENTER_SHADOWCONFIG_QUERY_DBNAME_List_EXCEPTION(1010800801, "根据应用ID查询应用库名列表异常"),
    //影子库数据源
    API_TRO_CONFCENTER_SHADOW_DATASOURCE_SAVE_EXCEPTION(1010900101, "新增影子库数据源参数缺少"),
    API_TRO_CONFCENTER_SHADOW_DATASOURCE_EXIST_EXCEPTION(1010900201, "该影子库数据源已经存在"),
    API_TRO_CONFCENTER_SHADOW_DATASOURCE_UPDATE_EXCEPTION(1010900101, "更新影子库数据源参数缺少"),
    API_TRO_CONFCENTER_SHADOW_DATASOURCE_IPPORT_EXCEPTION(1010900301, "影子库数据源IP端口格式不正确"),
    //应用开关配置
    API_TRO_CONFCENTER_APPLICATION_PARAM_EXCEPTION(1011000001, "更新应用配置参数为空"),
    API_TRO_CONFCENTER_APPLICATION_CONFIG_PAGE_EXCEPTION(1011000002, "查询应用程序分页异常"),
    API_TRO_CONFCENTER_APPLICATION_CONFIG_UPDATE_EXCEPTION(1011000003, "更新应用开关配置异常"),
    API_TRO_CONFCENTER_APPLICATION_CONFIG_BATCH_UPDATE_PARAM_EXCEPTION(1011001001, "批量更新参数为空"),
    API_TRO_CONFCENTER_APPLICATION_CONFIG_CHEAT_CHECK_PARAM_EXCEPTION(1011002001, "作弊检查参数异常"),
    //基础配置
    API_TRO_CONFCENTER_BASE_CONFIG_QUERY_EXCEPTION(1012000001, "查询基础配置异常"),
    API_TRO_CONFCENTER_UPDATE_BASE_CONFIG_PARAM_EXCEPTION(1012000101, "更新基础配置参数为空"),
    API_TRO_CONFCENTER_UPDATE_BASE_CONFIG_VALUE_TOO_LONG_EXCEPTION(1012000201, "基础配置值长度太长"),
    API_TRO_CONFCENTER_UPDATE_BASE_CONFIG_EXCEPTION(1012000102, "更新基础配置异常"),
    //透明流量的链路拓扑图配置
    TRANSPARENTFLOW_LINKTOPOLOGY_EXCEL_IS_EMTPT_EXCEPTION(1013101001, "拓扑图Excel文件为空"),
    TRANSPARENTFLOW_LINKTOPOLOGY_EXCEL_SUFFIX_ERROR_EXCEPTION(1013101002, "拓扑图Excel文件名不正确"),
    TRANSPARENTFLOW_LINKTOPOLOGY_LINK_GROUP_EMPTY_EXCEPTION(1013102001, "链路分组为空"),

    //压测时间记录
    PRESSURE_TIME_RECORD_SAVE_PARAM_EXCEPTION(111001001, "压测时间记录参数异常"),
    PRESSURE_TIME_RECORD_EXIST_EXCEPTION(111001002, "非法操作,压测时间记录已存在"),
    PRESSURE_TIME_RECORD_SAVE_EXCEPTION(111001002, "压测开始时间记录保存异常"),
    PRESSURE_TIME_RECORD_UPDATE_EXCEPTION(111002001, "压测结束时间记录更新异常"),
    PRESSURE_TIME_RECORD_UPDATE_PARAM_EXCEPTION(111002002, "压测时间记录参数异常"),
    PRESSURE_TIME_RECORD_QUERY_LATEST_EXCEPTION(111003001, "压测时间记录参数异常"),

    // 数据构建
    BUILDDATA_QUERY_BUILDINFO_EXCEPTION(1020100101, "查询构建列表信息异常"),
    BUILDDATA_UPDATE_SCRIPTSTATUS_PARAMLACK(1020100201, "参数缺失"),
    BUILDDATA_UPDATE_SCRIPTSTATUS_EXCEPTION(1020100202, "更新脚本执行状态异常"),
    BUILDDATA_QUERY_SCRIPTSTATUS_PARAMLACK(1020100301, "参数缺失"),
    BUILDDATA_QUERY_SCRIPTSTATUS_EXCEPTION(1020100302, "更新脚本执行状态异常"),
    BUILDDATA_QUERY_BATCHCLEAN_EXCEPTION(1020100401, "批量清理数据异常"),
    BUILDDATA_DEBUG_SWITCH_FAIL(1020100501, "调试开关开启失败"),
    BUILDDATA_DEBUG_SWITCH_PARAMLACK(1020100502, "调试开关参数缺失"),
    BUILDDATA_EXECUTE_SCRIPT_PARAMLACK(1020100501, "参数缺失"),
    BUILDDATA_EXECUTE_SCRIPT_EXCEPTION(1020100502, "执行脚本异常"),
    BUILDDATA_EXECUTE_SCRIPTPATH_NOTEXIST(1020100503, "脚本路径不存在"),
    BUILDDATA_EXECUTE_SCRIPTPATH_NOTCACHE(1020100504, "该应用没有缓存不用执行缓存脚本"),

    // 压测检测
    PMCHECK_QUERY_CHECKLIST_PARAMLACK(1020200101, "查询检测信息列表参数缺失"),
    PMCHECK_QUERY_CHECKLIST_EXCEPTION(1020200102, "查询压测检测信息列表异常"),
    PMCHECK_QUERY_CHECKSHADOWLIB_PARAMLACK(1020200201, "参数缺失"),
    PMCHECK_QUERY_CHECKSHADOWLIB_EXCEPTION(1020200202, "影子库整体同步检测查询异常"),
    PMCHECK_QUERY_CHECKSHADOWLIB_NOTEXISTBUILDDATA(1020200203, "根据应用id未查询到数据构建信息"),
    PMCHECK_QUERY_CHECKWLIST_EXCEPTION(1020200301, "白名单检测异常"),
    PMCHECK_QUERY_WLISTBYAPPLICATIONID_EXCEPTION(1020200302, "查询应用下白名单列表异常"),
    PMCHECK_QUERY_CHECKCACHE_EXECUTESTATUS_NOTEXIST(1020200401, "缓存预热上次执行成功时间和执行状态不存在"),
    PMCHECK_QUERY_CHECKCACHE_CACHEEXPTIME_NOTEXIST(1020200402, "该应用缓存失效时间不存在"),
    PMCHECK_QUERY_CHECKCACHE_EXCEPTION(1020200403, "缓存预热检测异常"),
    PMCHECK_QUERY_BATCHCHECK_EXCEPTION(1020200501, "批量检测失败"),

    // 监控管理
    MONITOR_DB_ADD_EXCEPTION(1030100101, "告警信息添加异常"),
    MONITOR_DB_UPDATE_EXCEPTION(1030100102, "告警信息修改异常"),
    MONITOR_DB_DELETE_EXCEPTION(1030100103, "告警信息删除异常"),
    MONITOR_DB_QUERY_EXCEPTION(1030100104, "告警信息查询异常"),
    MONITOR_DB_QUERYLIST_EXCEPTION(1030100105, "告警列表信息查询异常"),
    MONITOR_QUERYTALARMLIST_EXCEPTION(1030100106, "告警列表接口查询异常"),
    MONITOR_QUERYTREPORTLIST_EXCEPTION(1030100107, "压测报告列表接口查询异常"),
    MONITOR_SCENARIOCONTROL_EXCEPTION(1030100108, "压测控制接口调用异常"),
    MONITOR_SCENARIOCONTROL_START_EXCEPTION(1030100501, "压测控制接口启动调用异常"),
    MONITOR_SCENARIOCONTROL_STOP_EXCEPTION(1030100502, "压测控制接口停止调用异常"),
    MONITOR_SCENARIOCONTROL_ORDER_EXCEPTION(1030100503, "压测控制接口指令参数异常"),
    MONITOR_SCENARIOCONTROL_ASWAN_EXCEPTION(1030100504, "压测控制调用阿斯旺接口异常"),
    MONITOR_SCENARIOCONTROL_RUNNING_EXCEPTION(1030100506, "该链路正在压测"),
    MONITOR_SCENARIOCONTROL_SHADOWLIB_CHECK_EXCEPTION(1030100507, "请先进行影子库整体同步检测"),
    MONITOR_SCENARIOCONTROL_WLIST_CHECK_EXCEPTION(1030100508, "请先进行白名单校验状态"),
    MONITOR_SCENARIOCONTROL_CACHE_CHECK_EXCEPTION(1030100509, "请先进行缓存预热校验状态检测"),
    MONITOR_SCENARIOCONTROL_NOT_RUNNING_EXCEPTION(1030100510, "该链路没有压测"),
    MONITOR_QUERYPERFRESULTSTATISTICS_ASWAN_EXCEPTION(1030100113, "压测统计信息调用阿斯旺接口异常"),
    MONITOR_QUERYPERFRESULTSTATISTICSPERMINUTE_ASWAN_EXCEPTION(1030100114, "按时间精度分钟查询调用阿斯旺接口异常"),
    MONITOR_GET_BUSINESS_TOPOLOGICAL_EXCEPTION(1030100115, "获取业务拓扑图失败"),
    MONITOR_GET_BUSINESS_TOPOLOGICAL_CAINIAO_EXCEPTION(1030100116, "获取业务拓扑图调用菜鸟接口失败"),

    //压测执行异常
    MONITOR_BASIC_LINK_NOT_FOUND_EXCEPTION(1040100101, "基础链路不存在,不允许压测!"),

    /**
     * 压测辅助模块
     */
    // mq虚拟消费
    ASSIST_START_CONSUMER_PARAMERROR(1050100101, "没有该mq类型,请检查参数是否正确"),
    ASSIST_START_CONSUMER_EXCEPTION(1050100102, "启动消费异常"),
    ASSIST_START_CONSUMER_MSG_NOTFOUND(1050100103, "该条消息不存在"),
    ASSIST_STOP_CONSUMER_EXCEPTION(1050100201, "停止消费异常"),
    ASSIST_SAVE_MQ_DUPICATE(1050100302, "mq信息已经存在,请勿重新添加"),
    ASSIST_SAVE_MQ_PARAMERROR(1050100303, "IBM类型消息的esbcode只能为单个,不能以|分隔"),
    ASSIST_MQMSG_SAVE_EXCEPTION(1050100304, "保存MQ消息出现异常"),
    ASSIST_MQMSG_UPDATE_EXCEPTION(1050100401, "修改MQ消息出现异常"),
    ASSIST_MQMSG_NOT_FOUNT_EXCEPTION(1050100402, "MQ消息不存在"),
    ASSIST_NOT_FOUND_MQTYPE_EXCEPTION(1050100403, "找不到消息类型异常"),
    ASSIST_MQMSG_MQMSGID_IS_EMPTY_EXCEPTION(1050100501, "MQ消息id为空异常"),
    ASSIST_MQMSG_DELETE_EXCEPTION(1050100502, "删除MQ消息出现异常"),
    ASSIST_MQMSG_QUERY_MQMSG_LIST_EXCEPTION(1050100601, "查询MQ消息列表出现异常"),
    ASSIST_MQMSG_QUERY_MQMSG_DETAIL_EXCEPTION(1050100701, "查询MQ消息详情出现异常"),
    ASSIST_MQMSG_QUERY_MQMSG_TYPE_DICT_EXCEPTION(1050100801, "查询MQ消息类型出现异常"),

    // 抽数配置
    ASSIST_LOADDATA_PARAM_EXCEPTION(1050200101, "抽数操作参数为空"),
    ASSIST_LOADDATA_QUERY_EXCEPTION(1050200102, "没有需要新建的临时表,没有需要待开启的任务"),
    ASSIST_LOADDATA_EXCEPTION(1050200103, "抽数异常"),
    ASSIST_DBCONF_SAVE_EXCEPTION(1050200202, "保存数据库配置异常"),
    ASSIST_DBCONF_UPDATE_EXCEPTION(1050200302, "修改数据库配置出现异常"),
    ASSIST_DBCONF_UPDATE_NOT_FOUND_EXCEPTION(1050200303, "修改数据库配置不存在异常"),
    ASSIST_DBCONF_QUERYLIST_EXCEPTION(1050200501, "查询数据库配置出现异常"),
    ASSIST_RETURNDATA_FILE_EMPTY_EXCEPTION(1050200601, "保存上传jar文件为空"),
    ASSIST_RETURNDATA_STARTCLASS_TOOLONG_EXCEPTION(1050200602, "启动类过长"),
    ASSIST_RETURNDATA_SAVE_FILE_EXCEPTION(1050200602, "保存技术链路jar文件异常"),
    ASSIST_RETURNDATA_TLINKID_EXCEPTION(1050200603, "技术链路抽数配置已经存在"),
    ASSIST_RETURNDATA_STARTCLASS_EXCEPTION(1050200604, "技术链路抽数配置相同JAR包相同启动类已经存在"),
    ASSIST_RETURNDATA_UPDATE_ID_NULL_EXCEPTION(1050200701, "更新抽数配置ID为空"),
    ASSIST_RETURNDATA_UPDATE_PARAM_EXCEPTION(1050200701, "抽数配置没有需要更新的值"),
    ASSIST_RETURNDATA_ID_QUERY_NULL_EXCEPTION(1050200801, "未查询到抽数配置"),
    ASSIST_RETURNDATA_PATH_NOTEXIST(1050200802, "jar包路径不存在"),
    ASSIST_RETURNDATA_LINK_NULL_EXCEPTION(1050200803, "未查找到链路"),
    ASSIST_RETURNDATA_SWANID_NULL_EXCEPTION(1050200804, "阿斯旺ID为空"),
    ASSIST_RETURNDATA_ID_PARAM_QUERY_NULL_EXCEPTION(1050200901, "抽数配置ID为空"),
    ASSIST_RETURNDATA_JAR_UPLOAD_TYPE_ERROR(1050201001, "文件格式不正确,文件必须以.jar结尾"),
    ASSIST_RETURNDATA_JAR_UPLOAD_DOWNLOAD_ERROR(1050201002, "下载jar包文件异常"),
    ASSIST_RETURNDATA_OPERATE_SPT_JAR_ERROR(1050201002, "启动停止jar包抽数异常"),
    ASSIST_RETURNDATA_OPERATE_JAR_RUNNING_ERROR(1050201002, "抽数jar包正在运行中"),
    ASSIST_PUSHTOSPT_EXCEPTION(1010102501, "参数异常"),

    //下面两个没有引用
    ASSIST_FILEPATH_NOTFOUND(1050100103, "创建应用脚本存放路径不存在"),
    ASSIST_DBCONF_NOT_EXIST_EXCEPTION(1050100104, "数据库配置不存在"),

    ASSIST_DBCONF_DELETE_EXCEPTION(1050200401, "删除数据库配置出现异常"),
    ASSIST_DBCONF_DELETE_PARM_EXCEPTION(1050200402, "删除数据库配置参数异常"),
    ASSIST_DBCONF_QUERY_DETAIL_EXCEPTION(1050200601, "查询数据库配置出现异常"),

    ASSIST_DBCONF_QUERY_DB_DICT_TYPE_EXCEPTION(1050200701, "查询数据库类型字典列表异常"),
    ASSIST_DBCONF_SQL_UPLOAD_TYPE_ERROR(1050200801, "文件格式不正确,文件必须以.sql结尾"),
    ASSIST_DBCONF_SQL_UPLOAD_EXCEPTION(1050200802, "文件名已经存在,请重新命名"),
    ASSIST_DBCONF_SQL_BATHC_UPLOAD_PARAM_EXCEPTION(1050200901, "批量上传文件参数异常"),
    ASSIST_BATCH_ENNABLE_EXCEPTION(1050201101, "批量启用或禁用失败"),
    ASSIST_DBCONF_QUERY_LOADSTATUS_EXCEPTION(1050201201, "查询数据表抽数状态异常"),
    ASSIST_DBCONF_CHECKDB_EXCEPTION(1050201299, "数据库检查异常"),

    // 虚拟发送消息
    ASSIST_MQPRODUCER_ESB_OR_IBM_EXCEPTION(1050300101, "生产消息异常"),
    ASSIST_MQPRODUCER_EBM_MSG_NOTFOUND(1050300102, "ESB或者IBM消息不存在"),
    ASSIST_MQPRODUCER_ROCKETMQ_EXCEPTION(1050300201, "ROCKETMQ生产消息异常"),
    ASSIST_MQPRODUCER_ROCKETMQ_MSG_NOTFOUND(1050300202, "ROCKETMQ消息不存在"),
    ASSIST_MQPRODUCER_STOP_PRODUCE_MSQ_EXCEPTION(1050300301, "停止生产消息异常"),
    ASSIST_MQPRODUCER_EBM_SAVE_DUPICATE(1050300402, "消息已经存在,请勿重新添加"),
    ASSIST_MQPRODUCER_EBM_SAVE_EXCEPTION(1050300403, "新增异常"),

    ASSIST_MQPRODUCER_ESB_AND_IBM_DELETE_PARAM_EXCEPTION(1050300501, "删除ESB和IBM消息参数异常"),
    ASSIST_MQPRODUCER_ESB_AND_IBM_DELETE_EXCEPTION(1050300502, "删除ESB和IBM消息出现异常"),
    ASSIST_MQPRODUCER_ROCKETMQ_SAVE_EXCEPTION(1050300901, "ROCKETMQ新增异常"),
    ASSIST_MQPRODUCER_ROCKETMQ_SAVE_DUPICATE(1050300902, "ROCKETMQ已存在,请勿重新添加"),

    ASSIST_MQPRODUCER_ROCKETMQ_UPDATE_EXCEPTION(1050301102, "ROCKETMQ修改异常"),

    ASSIST_MQPRODUCER_EBM_NOT_FOUNT_EXCEPTION(1050300602, "消息不存在"),
    ASSIST_MQPRODUCER_EBM_UPDATE_EXCEPTION(1050300603, "修改异常"),

    ASSIST_MQPRODUCER_ESB_AND_IBM_QUERY_LIST_EXCEPTION(1050300701, "查询ESB和IBM消息列表出现异常"),
    ASSIST_MQPRODUCER_ESB_OR_IBM_QUERY_DETAIL_EXCEPTION(1050300801, "查询ESB或IBM生产消息详情出现异常"),

    ASSIST_MQPRODUCER_ROCKETMQ_DELETE_PARAM_EXCEPTION(1050301001, "删除ROCKETMQ消息参数异常"),
    ASSIST_MQPRODUCER_ROCKETMQ_DELETE_EXCEPTION(1050301002, "删除ROCKETMQ消息出现异常"),
    ASSIST_MQPRODUCER_ROCKETMQ_QUERY_LIST_EXCEPTION(1050301201, "查询ROCKETMQ消息列表出现异常"),
    ASSIST_MQPRODUCER_ROCKETMQ_QUERY_DETAIL_EXCEPTION(1050301301, "查询ROCKETMQ生产消息详情出现异常"),

    /**
     * 物理隔离模块
     */
    ISOLATE_INSERT_CONFIG_EXCEPTION(1070200101, "新增网络隔离配置异常"),
    ISOLATE_INSERT_CONFIG_DUPICATE(1070200102, "该应用网络隔离配置已存在，请勿重复添加"),
    ISOLATE_INSERT_CONFIG_PARAM_EXCEPTION(1070200106, "输入数据不合法"),
    ISOLATE_UPDATE_CONFIG_EXCEPTION(1070200201, "修改网络隔离配置异常"),
    ISOLATE_DELETE_CONFIG_EXCEPTION(1070200301, "删除网络隔离配置异常"),
    ISOLATE_DELETE_CONFIG_STATUS_EXCEPTION(1070200302, "预隔离及隔离状态下,不能修改和删除"),
    ISOLATE_QUERY_CONFIG_EXCEPTION(1070200401, "查询网络隔离配置异常"),
    ISOLATE_ISOLATE_APP_EXCEPTION(1070200501, "隔离/退出应用异常"),
    ISOLATE_PREISOLATE_APP_EXCEPTION(1070200601, "预隔离应用异常"),
    ISOLATE_QUERY_CONFIG_DETAIL_EXCEPTION(1070200501, "查询网络隔离配置详情异常"),

    ISOLATE_MQ_INSERT_CONFIG_EXCEPTION(1070300101, "新增MQ隔离配置异常"),
    ISOLATE_MQ_INSERT_CONFIG_DUPICATE(1070300102, "该MQ网络隔离配置已存在，请勿重复添加"),
    ISOLATE_MQ_INSERT_CONFIG_PARAM_EXCEPTION(1070300106, "参数有误"),
    ISOLATE_MQ_UPDATE_CONFIG_EXCEPTION(1070300201, "修改MQ隔离配置异常"),
    ISOLATE_MQ_DELETE_CONFIG_EXCEPTION(1070300301, "删除MQ隔离配置异常"),
    ISOLATE_MQ_DELETE_CONFIG_STATUS_EXCEPTION(1070300302, "隔离状态下,不能修改和删除"),
    ISOLATE_MQ_QUERY_CONFIG_EXCEPTION(1070300401, "查询MQ隔离配置异常"),

    ISOLATE_MQ_ISOLATE_APP_EXCEPTION(1070300501, "隔离MQ异常"),
    ISOLATE_MQ_STOP_WRITE_APP_EXCEPTION(1070300601, "停写异常"),
    ISOLATE_MQ_IS_CLEAR_APP_EXCEPTION(1070300701, "查询是否读完异常"),
    ISOLATE_MQ_QUERY_CONFIG_DETAIL_EXCEPTION(1070300502, "查询MQ隔离配置详情异常"),
    ISOLATE_MQ_CHECK_CONFIG_DETAIL_EXCEPTION(1070300503, "查询MQ隔离成功异常"),
    ISOLATE_MQ_RESUME_WRITE_CONFIG_DETAIL_EXCEPTION(1070300801, "停写恢复异常"),
    ISOLATE_APP_EXCEPTION(1070300803, "隔离APP异常"),
    ISOLATE_REAPP_EXCEPTION(1070300804, "恢复隔离APP异常"),

    ISOLATE_SAVE_REG_CONFIG(1070101001, "存储注册中心异常"),
    ISOLATE_DELETE_REG_CONFIGS(1070101002, "删除注册中心异常"),
    ISOLATE_UPDATE_REG_CONFIG(1070101003, "更新注册中心异常"),
    ISOLATE_QUERY_REG_CONFIG_PAGE(1070101004, "分页查询注册中心异常"),
    ISOLATE_QUERY_REG_CONFIGS(1070101005, "查询注册中心异常"),
    ISOLATE_SAVE_REG_CONFIG_EXISTS(1070101015, "对应注册中心信息已存在"),

    ISOLATE_QUERY_APP_CONFIG_DICT(1070101006, "查询应用配置字典异常"),
    ISOLATE_SAVE_APP_CONFIG(1070101007, "存储应用配置异常"),
    ISOLATE_DELETE_APP_CONFIGS(1070101008, "删除应用配置异常"),
    ISOLATE_UPDATE_APP_CONFIG(1070101009, "更新应用配置异常"),
    ISOLATE_QUERY_APP_CONFIG_PAGE(1070101010, "分页查询应用配置异常"),
    ISOLATE_SAVE_APP_CONFIG_EXISTS(1070101011, "对应应用信息已存在"),
    ISOLATE_REG_CONFIGS_USED(1070101012, "应用配置已使用"),
    ISOLATE_QUERY_APP_CONFIG_NOT_EXISTS(1070101013, "对应应用信息不存在"),
    ISOLATE_SAVE_APP_CONFIG_ARG_EMPTY(1070101014, "存储配置必要参数为空"),
    ISOLATE_QUERY_APP_NODES(1070101015, "查询应用可隔离节点异常"),

    /**
     * 链路探活模块
     */
    LINK_RESEARCH_LIVE_EMPTY_EXCEPTION(1080100001, "链路探活任务为空异常"),
    LINK_RESEARCH_LIVE_SCENENAME_DUPLICATION_EXCEPTION(1080100002, "链路探活任务场景名已存在"),
    LINK_RESEARCH_LIVE_ALARM_THRESHOLD_EXCEPTION(1080100003, "告警阈值请填写10位以内的非负整数"),

    LINK_RESEARCH_LIVE_ADD_EXCEPTION(1080100102, "添加链路探活任务异常"),
    LINK_RESEARCH_LIVE_UPDATE_EXCEPTION(1080100202, "更新链路探活任务异常"),
    LINK_RESEARCH_LIVE_UPDATE_PARAM_EXCEPTION(1080100202, "更新链路探活任务参数异常"),
    LINK_RESEARCH_LIVE_QUERY_LIST_PARAM_EXCEPTION(1080100301, "查询链路探活任务列表参数异常"),
    LINK_RESEARCH_LIVE_QUERY_LIST_EXCEPTION(1080100302, "查询链路探活任务列表异常"),
    LINK_RESEARCH_LIVE_DELETE_EXCEPTION(1080100402, "删除链路探活任务列表异常"),
    LINK_RESEARCH_LIVE_QUERY_DETAIL_EXCEPTION(1080100502, "查询链路探活任务详情异常"),

    LINK_RESEARCH_LIVE_START_EXCEPTION(1080100602, "启动链路探活任务异常"),
    LINK_RESEARCH_LIVE_START_FAILED_EXCEPTION(1080100603, "启动链路探活任务失败"),
    LINK_RESEARCH_LIVE_STOP_EXCEPTION(1080100702, "停止链路探活任务异常"),
    LINK_RESEARCH_LIVE_STOP_FAILED_EXCEPTION(1080100703, "启动链路探活任务失败"),
    LINK_RESEARCH_LIVE_QUERY_ALARM_PARAM_EXCEPTION(1080200101, "查询链路探活告警列表参数异常"),
    LINK_RESEARCH_LIVE_QUERY_ALARM_EXCEPTION(1080200102, "查询链路探活告警列表异常"),

    /**
     * 混沌工程模块
     */
    API_CHAOS_CONSOLE_QUERY_SCENE_EXCEPTION(1050400000, "查询混沌场景异常，NULL"),
    API_CHAOS_CONSOLE_QUERY_RECORD_EXCEPTION(1050400001, "查询混沌场景下发记录异常，NULL"),

    API_CHAOS_CONSOLE_TASKISSUE_QUERY_SCENE_EXCEPTION(1050400002, "任务下发查询场景异常，NULL"),
    API_CHAOS_CONSOLE_TASKISSUE_QUERY_SCENERULE_EXCEPTION(1050400003, "任务下发查询场景配置规则异常，NULL或小于1"),
    API_CHAOS_CONSOLE_TASKISSUE_HOST_ERROR_EXCEPTION(1050400004, "任务节点故障下发异常，故障注入全部失败"),

    ASSIST_CHAOS_CONSOLE_QUERY_SCENE_EXCEPTION(1050400000, "查询混沌场景异常，NULL"),
    ASSIST_CHAOS_CONSOLE_QUERY_RECORD_EXCEPTION(1050400001, "查询混沌场景下发记录异常，NULL"),

    ASSIST_CHAOS_CONSOLE_FAILURE_REPORT_EXCEPTION(1050500001, "查询故障检测报告详情异常"),

    //混沌工程模块
    //应用节点
    CHAOS_HOST_GET_EXCEPTION(1070101001, "查询节点信息发生异常"),
    CHAOS_HOST_DELETE_EXCEPTION(1070101002, "删除节点信息发生异常"),
    CHAOS_HOST_ADD_EXCEPTION(1070101003, "新增节点信息发生异常"),
    CHAOS_HOST_UPDATE_EXCEPTION(1070101004, "更新节点信息发生异常"),
    CHAOS_HOST_CHANGE_STATUS_EXCEPTION(1070101005, "修改节点状态发生异常"),
    CHAOS_HOST_PAGE_QUERY_EXCEPTION(1070101006, "分页查询节点信息发生异常"),
    CHAOS_HOST_IMPORT_EXCEPTION(1070101007, "节点导入异常"),
    CHAOS_HOST_IMPORT_NULL_EXCEPTION(1070101008, "导入文件不能为空"),
    CHAOS_HOST_IMPORT_EMPTY_EXCEPTION(1070101009, "未能解析到导入文件内容"),
    CHAOS_HOST_IP_EXCEPTION(1070101010, "IP地址不符合要求"),
    CHAOS_HOST_PORT_EXCEPTION(1070101011, "端口号只能是正整数"),
    CHAOS_HOST_MULTIPLE_EXCEPTION(1070101012, "IP地址和端口号已经存在"),
    CHAOS_HOST_TEMPLATE_EXCEPTION(1070101013, "模板文件不存在"),
    CHAOS_HOST_NOTAPP_EXCEPTION(1070101014, "所属应用不能为空"),
    CHAOS_HOST_NOTFOUNDAPP_EXCEPTION(1070101015, "没有找到所属应用"),
    CHAOS_HOST_PRAAR_EXCEPTION(1070101016, "请更新Pradar版本至1.7.0版本以上！"),

    //命令模板
    CHAOS_COMMAND_TEMPLATE_GET_EXCEPTION(1070201001, "查询命令模板信息发生异常"),
    CHAOS_COMMAND_TEMPLATE_SAVE_EXCEPTION(1070201002, "新增命令模板信息发生异常"),
    CHAOS_COMMAND_TEMPLATE_UPDATE_EXCEPTION(1070201003, "修改命令模板发生异常"),
    CHAOS_COMMAND_TEMPLATE_DELETE_EXCEPTION(1070201004, "删除命令模板发生异常"),
    CHAOS_COMMAND_TEMPLATE_CHANGESTATUS_EXCEPTION(1070201005, "修改命令模板状态发生异常"),
    CHAOS_COMMAND_TEMPLATE_PAGE_QUERY_EXCEPTION(1070201006, "分页查询命令模板发生异常"),
    CHAOS_COMMAND_TEMPLATE_SELECTS_EXCEPTION(1070201007, "查询命令模板发生异常"),

    //插件
    CHAOS_PLUGIN_EXIST_SAME_EXCEPTION(1070301001, "已经存在相同的插件"),
    CHAOS_PLUGIN_NO_APPINFO_EXCEPTION(1070301002, "未找到对应的应用信息"),
    CHAOS_PLUGIN_ADD_EXCEPTION(1070301003, "新增插件发生异常"),
    CHAOS_PLUGIN_DELETE_EXCEPTION(1070301004, "删除插件发生异常"),
    CHAOS_PLUGIN_CHANGESTATUS_EXCEPTION(1070301005, "修改命令模板状态发生异常"),
    CHAOS_PLUGIN_PAGE_QUERY_EXCEPTION(1070301006, "分页查询命令模板发生异常"),
    CHAOS_PLUGIN_QUERYBYAPPID_EXCEPTION(1070301007, "根据应用查询插件发生异常"),
    CHAOS_PLUGIN_LASTVERSION_EXCEPTION(1070301008, "根据应用查询插件最大版本号发生异常"),
    CHAOS_PLUGIN_QUERYPAGE_EXCEPTION(1070301009, "分页查询插件发生异常"),
    CHAOS_PLUGIN_UPLOAD_EXCEPTION(1070301010, "上传插件发生异常"),

    CHAOS_HOST_RECORD_EXCEPTION(1070601001, "主机下发记录查询异常"),

    ;

    /**
     * >>>>>>> chaos_0.0.2
     * 错误码
     */
    private int errorCode;

    /**
     * 错误信息
     */
    private String errorMessage;

    /**
     * 构造方法
     *
     * @param errorCode    错误码
     * @param errorMessage 错误信息
     * @author shulie
     * @version 1.0
     */
    private TROErrorEnum(int errorCode, String errorMessage) {
        this.errorCode = errorCode;
        this.errorMessage = errorMessage;
    }

    /**
     * 2018年5月21日
     *
     * @return the errorCode
     * @author shulie
     * @version 1.0
     */
    public int getErrorCode() {
        return errorCode;
    }

    /**
     * 2018年5月21日
     *
     * @param errorCode the errorCode to set
     * @author shulie
     * @version 1.0
     */
    public void setErrorCode(int errorCode) {
        this.errorCode = errorCode;
    }

    /**
     * 2018年5月21日
     *
     * @return the errorMessage
     * @author shulie
     * @version 1.0
     */
    public String getErrorMessage() {
        return errorMessage;
    }

    /**
     * 2018年5月21日
     *
     * @param errorMessage the errorMessage to set
     * @author shulie
     * @version 1.0
     */
    public void setErrorMessage(String errorMessage) {
        this.errorMessage = errorMessage;
    }
}
